Refining Abstract Interpretation-Based Static Analyses with Hints
نویسندگان
چکیده
We focus our attention on the loss of precision induced by abstract domain operations. We introduce a new technique, hints, which allows us to systematically refine the operations defined over elements of an abstract domain. We formally define hints in the abstract interpretation theory, we prove their soundness, and we characterize two families of hints: syntactic and semantic. We give some examples of hints, and we provide our experience with hints in Clousot, our abstract interpretation-based static analyzer for .Net.
منابع مشابه
Refining Abstract Interpretation Based Value Analysis with Constraint Programming Techniques
Abstract interpretation based value analysis is a classical approach for verifying programs with floating-point computations. However, state-of-the-art tools compute an over-approximation of the variable values that can be very coarse. In this paper, we show that constraint solvers can significantly refine the approximations computed with abstract interpretation tools. We introduce a hybrid app...
متن کاملStatic Analysis of Digital Filters
We present an Abstract Interpretation-based framework for automatically analyzing programs containing digital filters. Our framework allows refining existing analyses so that they can handle given classes of digital filters. We only have to design a class of symbolic properties that describe the invariants throughout filter iterations, and to describe how these properties are transformed by fil...
متن کاملA Certifying Frontend for (Sub)polyhedral Abstract Domains
Convex polyhedra provide a relational abstraction of numerical properties for static analysis of programs by abstract interpretation. We describe a lightweight certification of polyhedral abstract domains using the Coq proof assistant. Our approach consists in delegating most computations to an untrusted backend and in checking its outputs with a certified frontend. The backend is free to imple...
متن کاملCompositional Separate Modular Static Analysis of Programs by Abstract Interpretation
The purpose of this paper is to present four ba sic methods for compositional separate modular static analy sis of programs by abstract interpretation: • Simplification-based separate analysis; • Worst-case separate analysis; • Separate analysis with (user-provided) interfaces; • Symbolic relational separate analysis; as well as a fifth category which is essentially obtained by composition of...
متن کاملSubPolyhedra: A (More) Scalable Approach to Infer Linear Inequalities
We introduce Subpolyhedra (SubPoly) a new numerical abstract domain to infer and propagate linear inequalities. SubPoly is as expressive as Polyhedra, but it drops some of the deductive power to achieve scalability. SubPoly is based on the insight that the reduced product of linear equalities and intervals produces powerful yet scalable analyses. Precision can be recovered using hints. Hints ca...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009